/*
 *   Copyright (C) Key Bridge Global LLC and/or its affiliates.
 *
 *   This program is free software: you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation, either version 3 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   You should have received a copy of the GNU General Public License
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
package com.keybridgeglobal.wsif;

import javax.xml.bind.annotation.*;

/**
 * <p>Java class for contact complex type.
 * <p/>
 * <p>The following schema fragment specifies the expected content contained
 * within this class.
 * <p/>
 * <pre>
 * &lt;complexType name="contact">
 *   &lt;complexContent>
 *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
 *       &lt;sequence>
 *         &lt;element ref="{}address" minOccurs="0"/>
 *         &lt;element name="vCard" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
 *       &lt;/sequence>
 *       &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="email" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="firstName" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="lastName" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="title" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="organization" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="phone" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="fax" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="cell" type="{http://www.w3.org/2001/XMLSchema}string" />
 *       &lt;attribute name="contactType" type="{http://www.w3.org/2001/XMLSchema}string" />
 *     &lt;/restriction>
 *   &lt;/complexContent>
 * &lt;/complexType>
 * </pre>
 * <p/>
 *
 */
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "contact", propOrder = {
  "address",
  "vCard"
})
@XmlRootElement
public class Contact {

  protected Address address;
  protected String vCard;
  @XmlAttribute(name = "name", required = true)
  protected String name;
  @XmlAttribute(name = "email", required = true)
  protected String email;
  @XmlAttribute(name = "firstName")
  protected String firstName;
  @XmlAttribute(name = "lastName")
  protected String lastName;
  @XmlAttribute(name = "title")
  protected String title;
  @XmlAttribute(name = "organization")
  protected String organization;
  @XmlAttribute(name = "phone")
  protected String phone;
  @XmlAttribute(name = "fax")
  protected String fax;
  @XmlAttribute(name = "cell")
  protected String cell;
  @XmlAttribute(name = "contactType")
  protected String contactType;

  /**
   * Gets the value of the address property.
   * <p/>
   * @return possible object is {@link Address }
   *
   */
  public Address getAddress() {
    return address;
  }

  /**
   * Sets the value of the address property.
   * <p/>
   * @param value allowed object is {@link Address }
   *
   */
  public void setAddress(Address value) {
    this.address = value;
  }

  /**
   * Gets the value of the vCard property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getVCard() {
    return vCard;
  }

  /**
   * Sets the value of the vCard property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setVCard(String value) {
    this.vCard = value;
  }

  /**
   * Gets the value of the name property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getName() {
    return name;
  }

  /**
   * Sets the value of the name property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setName(String value) {
    this.name = value;
  }

  /**
   * Gets the value of the email property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getEmail() {
    return email;
  }

  /**
   * Sets the value of the email property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setEmail(String value) {
    this.email = value;
  }

  /**
   * Gets the value of the firstName property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getFirstName() {
    return firstName;
  }

  /**
   * Sets the value of the firstName property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setFirstName(String value) {
    this.firstName = value;
  }

  /**
   * Gets the value of the lastName property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getLastName() {
    return lastName;
  }

  /**
   * Sets the value of the lastName property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setLastName(String value) {
    this.lastName = value;
  }

  /**
   * Gets the value of the title property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getTitle() {
    return title;
  }

  /**
   * Sets the value of the title property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setTitle(String value) {
    this.title = value;
  }

  /**
   * Gets the value of the organization property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getOrganization() {
    return organization;
  }

  /**
   * Sets the value of the organization property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setOrganization(String value) {
    this.organization = value;
  }

  /**
   * Gets the value of the phone property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getPhone() {
    return phone;
  }

  /**
   * Sets the value of the phone property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setPhone(String value) {
    this.phone = value;
  }

  /**
   * Gets the value of the fax property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getFax() {
    return fax;
  }

  /**
   * Sets the value of the fax property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setFax(String value) {
    this.fax = value;
  }

  /**
   * Gets the value of the cell property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getCell() {
    return cell;
  }

  /**
   * Sets the value of the cell property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setCell(String value) {
    this.cell = value;
  }

  /**
   * Gets the value of the contactType property.
   * <p/>
   * @return possible object is {@link String }
   *
   */
  public String getContactType() {
    return contactType;
  }

  /**
   * Sets the value of the contactType property.
   * <p/>
   * @param value allowed object is {@link String }
   *
   */
  public void setContactType(String value) {
    this.contactType = value;
  }
}
